package cn.task.po;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class PayrecordExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public PayrecordExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andPayidIsNull() {
            addCriterion("payId is null");
            return (Criteria) this;
        }

        public Criteria andPayidIsNotNull() {
            addCriterion("payId is not null");
            return (Criteria) this;
        }

        public Criteria andPayidEqualTo(Integer value) {
            addCriterion("payId =", value, "payid");
            return (Criteria) this;
        }

        public Criteria andPayidNotEqualTo(Integer value) {
            addCriterion("payId <>", value, "payid");
            return (Criteria) this;
        }

        public Criteria andPayidGreaterThan(Integer value) {
            addCriterion("payId >", value, "payid");
            return (Criteria) this;
        }

        public Criteria andPayidGreaterThanOrEqualTo(Integer value) {
            addCriterion("payId >=", value, "payid");
            return (Criteria) this;
        }

        public Criteria andPayidLessThan(Integer value) {
            addCriterion("payId <", value, "payid");
            return (Criteria) this;
        }

        public Criteria andPayidLessThanOrEqualTo(Integer value) {
            addCriterion("payId <=", value, "payid");
            return (Criteria) this;
        }

        public Criteria andPayidIn(List<Integer> values) {
            addCriterion("payId in", values, "payid");
            return (Criteria) this;
        }

        public Criteria andPayidNotIn(List<Integer> values) {
            addCriterion("payId not in", values, "payid");
            return (Criteria) this;
        }

        public Criteria andPayidBetween(Integer value1, Integer value2) {
            addCriterion("payId between", value1, value2, "payid");
            return (Criteria) this;
        }

        public Criteria andPayidNotBetween(Integer value1, Integer value2) {
            addCriterion("payId not between", value1, value2, "payid");
            return (Criteria) this;
        }

        public Criteria andTaskidIsNull() {
            addCriterion("taskId is null");
            return (Criteria) this;
        }

        public Criteria andTaskidIsNotNull() {
            addCriterion("taskId is not null");
            return (Criteria) this;
        }

        public Criteria andTaskidEqualTo(String value) {
            addCriterion("taskId =", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidNotEqualTo(String value) {
            addCriterion("taskId <>", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidGreaterThan(String value) {
            addCriterion("taskId >", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidGreaterThanOrEqualTo(String value) {
            addCriterion("taskId >=", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidLessThan(String value) {
            addCriterion("taskId <", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidLessThanOrEqualTo(String value) {
            addCriterion("taskId <=", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidLike(String value) {
            addCriterion("taskId like", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidNotLike(String value) {
            addCriterion("taskId not like", value, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidIn(List<String> values) {
            addCriterion("taskId in", values, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidNotIn(List<String> values) {
            addCriterion("taskId not in", values, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidBetween(String value1, String value2) {
            addCriterion("taskId between", value1, value2, "taskid");
            return (Criteria) this;
        }

        public Criteria andTaskidNotBetween(String value1, String value2) {
            addCriterion("taskId not between", value1, value2, "taskid");
            return (Criteria) this;
        }

        public Criteria andShouldpayIsNull() {
            addCriterion("shouldPay is null");
            return (Criteria) this;
        }

        public Criteria andShouldpayIsNotNull() {
            addCriterion("shouldPay is not null");
            return (Criteria) this;
        }

        public Criteria andShouldpayEqualTo(String value) {
            addCriterion("shouldPay =", value, "shouldpay");
            return (Criteria) this;
        }

        public Criteria andShouldpayNotEqualTo(String value) {
            addCriterion("shouldPay <>", value, "shouldpay");
            return (Criteria) this;
        }

        public Criteria andShouldpayGreaterThan(String value) {
            addCriterion("shouldPay >", value, "shouldpay");
            return (Criteria) this;
        }

        public Criteria andShouldpayGreaterThanOrEqualTo(String value) {
            addCriterion("shouldPay >=", value, "shouldpay");
            return (Criteria) this;
        }

        public Criteria andShouldpayLessThan(String value) {
            addCriterion("shouldPay <", value, "shouldpay");
            return (Criteria) this;
        }

        public Criteria andShouldpayLessThanOrEqualTo(String value) {
            addCriterion("shouldPay <=", value, "shouldpay");
            return (Criteria) this;
        }

        public Criteria andShouldpayLike(String value) {
            addCriterion("shouldPay like", value, "shouldpay");
            return (Criteria) this;
        }

        public Criteria andShouldpayNotLike(String value) {
            addCriterion("shouldPay not like", value, "shouldpay");
            return (Criteria) this;
        }

        public Criteria andShouldpayIn(List<String> values) {
            addCriterion("shouldPay in", values, "shouldpay");
            return (Criteria) this;
        }

        public Criteria andShouldpayNotIn(List<String> values) {
            addCriterion("shouldPay not in", values, "shouldpay");
            return (Criteria) this;
        }

        public Criteria andShouldpayBetween(String value1, String value2) {
            addCriterion("shouldPay between", value1, value2, "shouldpay");
            return (Criteria) this;
        }

        public Criteria andShouldpayNotBetween(String value1, String value2) {
            addCriterion("shouldPay not between", value1, value2, "shouldpay");
            return (Criteria) this;
        }

        public Criteria andRealpayIsNull() {
            addCriterion("realPay is null");
            return (Criteria) this;
        }

        public Criteria andRealpayIsNotNull() {
            addCriterion("realPay is not null");
            return (Criteria) this;
        }

        public Criteria andRealpayEqualTo(String value) {
            addCriterion("realPay =", value, "realpay");
            return (Criteria) this;
        }

        public Criteria andRealpayNotEqualTo(String value) {
            addCriterion("realPay <>", value, "realpay");
            return (Criteria) this;
        }

        public Criteria andRealpayGreaterThan(String value) {
            addCriterion("realPay >", value, "realpay");
            return (Criteria) this;
        }

        public Criteria andRealpayGreaterThanOrEqualTo(String value) {
            addCriterion("realPay >=", value, "realpay");
            return (Criteria) this;
        }

        public Criteria andRealpayLessThan(String value) {
            addCriterion("realPay <", value, "realpay");
            return (Criteria) this;
        }

        public Criteria andRealpayLessThanOrEqualTo(String value) {
            addCriterion("realPay <=", value, "realpay");
            return (Criteria) this;
        }

        public Criteria andRealpayLike(String value) {
            addCriterion("realPay like", value, "realpay");
            return (Criteria) this;
        }

        public Criteria andRealpayNotLike(String value) {
            addCriterion("realPay not like", value, "realpay");
            return (Criteria) this;
        }

        public Criteria andRealpayIn(List<String> values) {
            addCriterion("realPay in", values, "realpay");
            return (Criteria) this;
        }

        public Criteria andRealpayNotIn(List<String> values) {
            addCriterion("realPay not in", values, "realpay");
            return (Criteria) this;
        }

        public Criteria andRealpayBetween(String value1, String value2) {
            addCriterion("realPay between", value1, value2, "realpay");
            return (Criteria) this;
        }

        public Criteria andRealpayNotBetween(String value1, String value2) {
            addCriterion("realPay not between", value1, value2, "realpay");
            return (Criteria) this;
        }

        public Criteria andPayeridIsNull() {
            addCriterion("payerId is null");
            return (Criteria) this;
        }

        public Criteria andPayeridIsNotNull() {
            addCriterion("payerId is not null");
            return (Criteria) this;
        }

        public Criteria andPayeridEqualTo(String value) {
            addCriterion("payerId =", value, "payerid");
            return (Criteria) this;
        }

        public Criteria andPayeridNotEqualTo(String value) {
            addCriterion("payerId <>", value, "payerid");
            return (Criteria) this;
        }

        public Criteria andPayeridGreaterThan(String value) {
            addCriterion("payerId >", value, "payerid");
            return (Criteria) this;
        }

        public Criteria andPayeridGreaterThanOrEqualTo(String value) {
            addCriterion("payerId >=", value, "payerid");
            return (Criteria) this;
        }

        public Criteria andPayeridLessThan(String value) {
            addCriterion("payerId <", value, "payerid");
            return (Criteria) this;
        }

        public Criteria andPayeridLessThanOrEqualTo(String value) {
            addCriterion("payerId <=", value, "payerid");
            return (Criteria) this;
        }

        public Criteria andPayeridLike(String value) {
            addCriterion("payerId like", value, "payerid");
            return (Criteria) this;
        }

        public Criteria andPayeridNotLike(String value) {
            addCriterion("payerId not like", value, "payerid");
            return (Criteria) this;
        }

        public Criteria andPayeridIn(List<String> values) {
            addCriterion("payerId in", values, "payerid");
            return (Criteria) this;
        }

        public Criteria andPayeridNotIn(List<String> values) {
            addCriterion("payerId not in", values, "payerid");
            return (Criteria) this;
        }

        public Criteria andPayeridBetween(String value1, String value2) {
            addCriterion("payerId between", value1, value2, "payerid");
            return (Criteria) this;
        }

        public Criteria andPayeridNotBetween(String value1, String value2) {
            addCriterion("payerId not between", value1, value2, "payerid");
            return (Criteria) this;
        }

        public Criteria andReceiveridIsNull() {
            addCriterion("receiverId is null");
            return (Criteria) this;
        }

        public Criteria andReceiveridIsNotNull() {
            addCriterion("receiverId is not null");
            return (Criteria) this;
        }

        public Criteria andReceiveridEqualTo(String value) {
            addCriterion("receiverId =", value, "receiverid");
            return (Criteria) this;
        }

        public Criteria andReceiveridNotEqualTo(String value) {
            addCriterion("receiverId <>", value, "receiverid");
            return (Criteria) this;
        }

        public Criteria andReceiveridGreaterThan(String value) {
            addCriterion("receiverId >", value, "receiverid");
            return (Criteria) this;
        }

        public Criteria andReceiveridGreaterThanOrEqualTo(String value) {
            addCriterion("receiverId >=", value, "receiverid");
            return (Criteria) this;
        }

        public Criteria andReceiveridLessThan(String value) {
            addCriterion("receiverId <", value, "receiverid");
            return (Criteria) this;
        }

        public Criteria andReceiveridLessThanOrEqualTo(String value) {
            addCriterion("receiverId <=", value, "receiverid");
            return (Criteria) this;
        }

        public Criteria andReceiveridLike(String value) {
            addCriterion("receiverId like", value, "receiverid");
            return (Criteria) this;
        }

        public Criteria andReceiveridNotLike(String value) {
            addCriterion("receiverId not like", value, "receiverid");
            return (Criteria) this;
        }

        public Criteria andReceiveridIn(List<String> values) {
            addCriterion("receiverId in", values, "receiverid");
            return (Criteria) this;
        }

        public Criteria andReceiveridNotIn(List<String> values) {
            addCriterion("receiverId not in", values, "receiverid");
            return (Criteria) this;
        }

        public Criteria andReceiveridBetween(String value1, String value2) {
            addCriterion("receiverId between", value1, value2, "receiverid");
            return (Criteria) this;
        }

        public Criteria andReceiveridNotBetween(String value1, String value2) {
            addCriterion("receiverId not between", value1, value2, "receiverid");
            return (Criteria) this;
        }

        public Criteria andReceivernameIsNull() {
            addCriterion("receiverName is null");
            return (Criteria) this;
        }

        public Criteria andReceivernameIsNotNull() {
            addCriterion("receiverName is not null");
            return (Criteria) this;
        }

        public Criteria andReceivernameEqualTo(String value) {
            addCriterion("receiverName =", value, "receivername");
            return (Criteria) this;
        }

        public Criteria andReceivernameNotEqualTo(String value) {
            addCriterion("receiverName <>", value, "receivername");
            return (Criteria) this;
        }

        public Criteria andReceivernameGreaterThan(String value) {
            addCriterion("receiverName >", value, "receivername");
            return (Criteria) this;
        }

        public Criteria andReceivernameGreaterThanOrEqualTo(String value) {
            addCriterion("receiverName >=", value, "receivername");
            return (Criteria) this;
        }

        public Criteria andReceivernameLessThan(String value) {
            addCriterion("receiverName <", value, "receivername");
            return (Criteria) this;
        }

        public Criteria andReceivernameLessThanOrEqualTo(String value) {
            addCriterion("receiverName <=", value, "receivername");
            return (Criteria) this;
        }

        public Criteria andReceivernameLike(String value) {
            addCriterion("receiverName like", value, "receivername");
            return (Criteria) this;
        }

        public Criteria andReceivernameNotLike(String value) {
            addCriterion("receiverName not like", value, "receivername");
            return (Criteria) this;
        }

        public Criteria andReceivernameIn(List<String> values) {
            addCriterion("receiverName in", values, "receivername");
            return (Criteria) this;
        }

        public Criteria andReceivernameNotIn(List<String> values) {
            addCriterion("receiverName not in", values, "receivername");
            return (Criteria) this;
        }

        public Criteria andReceivernameBetween(String value1, String value2) {
            addCriterion("receiverName between", value1, value2, "receivername");
            return (Criteria) this;
        }

        public Criteria andReceivernameNotBetween(String value1, String value2) {
            addCriterion("receiverName not between", value1, value2, "receivername");
            return (Criteria) this;
        }

        public Criteria andReceiveraccountIsNull() {
            addCriterion("receiverAccount is null");
            return (Criteria) this;
        }

        public Criteria andReceiveraccountIsNotNull() {
            addCriterion("receiverAccount is not null");
            return (Criteria) this;
        }

        public Criteria andReceiveraccountEqualTo(String value) {
            addCriterion("receiverAccount =", value, "receiveraccount");
            return (Criteria) this;
        }

        public Criteria andReceiveraccountNotEqualTo(String value) {
            addCriterion("receiverAccount <>", value, "receiveraccount");
            return (Criteria) this;
        }

        public Criteria andReceiveraccountGreaterThan(String value) {
            addCriterion("receiverAccount >", value, "receiveraccount");
            return (Criteria) this;
        }

        public Criteria andReceiveraccountGreaterThanOrEqualTo(String value) {
            addCriterion("receiverAccount >=", value, "receiveraccount");
            return (Criteria) this;
        }

        public Criteria andReceiveraccountLessThan(String value) {
            addCriterion("receiverAccount <", value, "receiveraccount");
            return (Criteria) this;
        }

        public Criteria andReceiveraccountLessThanOrEqualTo(String value) {
            addCriterion("receiverAccount <=", value, "receiveraccount");
            return (Criteria) this;
        }

        public Criteria andReceiveraccountLike(String value) {
            addCriterion("receiverAccount like", value, "receiveraccount");
            return (Criteria) this;
        }

        public Criteria andReceiveraccountNotLike(String value) {
            addCriterion("receiverAccount not like", value, "receiveraccount");
            return (Criteria) this;
        }

        public Criteria andReceiveraccountIn(List<String> values) {
            addCriterion("receiverAccount in", values, "receiveraccount");
            return (Criteria) this;
        }

        public Criteria andReceiveraccountNotIn(List<String> values) {
            addCriterion("receiverAccount not in", values, "receiveraccount");
            return (Criteria) this;
        }

        public Criteria andReceiveraccountBetween(String value1, String value2) {
            addCriterion("receiverAccount between", value1, value2, "receiveraccount");
            return (Criteria) this;
        }

        public Criteria andReceiveraccountNotBetween(String value1, String value2) {
            addCriterion("receiverAccount not between", value1, value2, "receiveraccount");
            return (Criteria) this;
        }

        public Criteria andPayernameIsNull() {
            addCriterion("payerName is null");
            return (Criteria) this;
        }

        public Criteria andPayernameIsNotNull() {
            addCriterion("payerName is not null");
            return (Criteria) this;
        }

        public Criteria andPayernameEqualTo(String value) {
            addCriterion("payerName =", value, "payername");
            return (Criteria) this;
        }

        public Criteria andPayernameNotEqualTo(String value) {
            addCriterion("payerName <>", value, "payername");
            return (Criteria) this;
        }

        public Criteria andPayernameGreaterThan(String value) {
            addCriterion("payerName >", value, "payername");
            return (Criteria) this;
        }

        public Criteria andPayernameGreaterThanOrEqualTo(String value) {
            addCriterion("payerName >=", value, "payername");
            return (Criteria) this;
        }

        public Criteria andPayernameLessThan(String value) {
            addCriterion("payerName <", value, "payername");
            return (Criteria) this;
        }

        public Criteria andPayernameLessThanOrEqualTo(String value) {
            addCriterion("payerName <=", value, "payername");
            return (Criteria) this;
        }

        public Criteria andPayernameLike(String value) {
            addCriterion("payerName like", value, "payername");
            return (Criteria) this;
        }

        public Criteria andPayernameNotLike(String value) {
            addCriterion("payerName not like", value, "payername");
            return (Criteria) this;
        }

        public Criteria andPayernameIn(List<String> values) {
            addCriterion("payerName in", values, "payername");
            return (Criteria) this;
        }

        public Criteria andPayernameNotIn(List<String> values) {
            addCriterion("payerName not in", values, "payername");
            return (Criteria) this;
        }

        public Criteria andPayernameBetween(String value1, String value2) {
            addCriterion("payerName between", value1, value2, "payername");
            return (Criteria) this;
        }

        public Criteria andPayernameNotBetween(String value1, String value2) {
            addCriterion("payerName not between", value1, value2, "payername");
            return (Criteria) this;
        }

        public Criteria andPayeraccountIsNull() {
            addCriterion("payerAccount is null");
            return (Criteria) this;
        }

        public Criteria andPayeraccountIsNotNull() {
            addCriterion("payerAccount is not null");
            return (Criteria) this;
        }

        public Criteria andPayeraccountEqualTo(String value) {
            addCriterion("payerAccount =", value, "payeraccount");
            return (Criteria) this;
        }

        public Criteria andPayeraccountNotEqualTo(String value) {
            addCriterion("payerAccount <>", value, "payeraccount");
            return (Criteria) this;
        }

        public Criteria andPayeraccountGreaterThan(String value) {
            addCriterion("payerAccount >", value, "payeraccount");
            return (Criteria) this;
        }

        public Criteria andPayeraccountGreaterThanOrEqualTo(String value) {
            addCriterion("payerAccount >=", value, "payeraccount");
            return (Criteria) this;
        }

        public Criteria andPayeraccountLessThan(String value) {
            addCriterion("payerAccount <", value, "payeraccount");
            return (Criteria) this;
        }

        public Criteria andPayeraccountLessThanOrEqualTo(String value) {
            addCriterion("payerAccount <=", value, "payeraccount");
            return (Criteria) this;
        }

        public Criteria andPayeraccountLike(String value) {
            addCriterion("payerAccount like", value, "payeraccount");
            return (Criteria) this;
        }

        public Criteria andPayeraccountNotLike(String value) {
            addCriterion("payerAccount not like", value, "payeraccount");
            return (Criteria) this;
        }

        public Criteria andPayeraccountIn(List<String> values) {
            addCriterion("payerAccount in", values, "payeraccount");
            return (Criteria) this;
        }

        public Criteria andPayeraccountNotIn(List<String> values) {
            addCriterion("payerAccount not in", values, "payeraccount");
            return (Criteria) this;
        }

        public Criteria andPayeraccountBetween(String value1, String value2) {
            addCriterion("payerAccount between", value1, value2, "payeraccount");
            return (Criteria) this;
        }

        public Criteria andPayeraccountNotBetween(String value1, String value2) {
            addCriterion("payerAccount not between", value1, value2, "payeraccount");
            return (Criteria) this;
        }

        public Criteria andPaymentdateIsNull() {
            addCriterion("paymentDate is null");
            return (Criteria) this;
        }

        public Criteria andPaymentdateIsNotNull() {
            addCriterion("paymentDate is not null");
            return (Criteria) this;
        }

        public Criteria andPaymentdateEqualTo(Date value) {
            addCriterionForJDBCDate("paymentDate =", value, "paymentdate");
            return (Criteria) this;
        }

        public Criteria andPaymentdateNotEqualTo(Date value) {
            addCriterionForJDBCDate("paymentDate <>", value, "paymentdate");
            return (Criteria) this;
        }

        public Criteria andPaymentdateGreaterThan(Date value) {
            addCriterionForJDBCDate("paymentDate >", value, "paymentdate");
            return (Criteria) this;
        }

        public Criteria andPaymentdateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("paymentDate >=", value, "paymentdate");
            return (Criteria) this;
        }

        public Criteria andPaymentdateLessThan(Date value) {
            addCriterionForJDBCDate("paymentDate <", value, "paymentdate");
            return (Criteria) this;
        }

        public Criteria andPaymentdateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("paymentDate <=", value, "paymentdate");
            return (Criteria) this;
        }

        public Criteria andPaymentdateIn(List<Date> values) {
            addCriterionForJDBCDate("paymentDate in", values, "paymentdate");
            return (Criteria) this;
        }

        public Criteria andPaymentdateNotIn(List<Date> values) {
            addCriterionForJDBCDate("paymentDate not in", values, "paymentdate");
            return (Criteria) this;
        }

        public Criteria andPaymentdateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("paymentDate between", value1, value2, "paymentdate");
            return (Criteria) this;
        }

        public Criteria andPaymentdateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("paymentDate not between", value1, value2, "paymentdate");
            return (Criteria) this;
        }

        public Criteria andTasknameIsNull() {
            addCriterion("taskName is null");
            return (Criteria) this;
        }

        public Criteria andTasknameIsNotNull() {
            addCriterion("taskName is not null");
            return (Criteria) this;
        }

        public Criteria andTasknameEqualTo(String value) {
            addCriterion("taskName =", value, "taskname");
            return (Criteria) this;
        }

        public Criteria andTasknameNotEqualTo(String value) {
            addCriterion("taskName <>", value, "taskname");
            return (Criteria) this;
        }

        public Criteria andTasknameGreaterThan(String value) {
            addCriterion("taskName >", value, "taskname");
            return (Criteria) this;
        }

        public Criteria andTasknameGreaterThanOrEqualTo(String value) {
            addCriterion("taskName >=", value, "taskname");
            return (Criteria) this;
        }

        public Criteria andTasknameLessThan(String value) {
            addCriterion("taskName <", value, "taskname");
            return (Criteria) this;
        }

        public Criteria andTasknameLessThanOrEqualTo(String value) {
            addCriterion("taskName <=", value, "taskname");
            return (Criteria) this;
        }

        public Criteria andTasknameLike(String value) {
            addCriterion("taskName like", value, "taskname");
            return (Criteria) this;
        }

        public Criteria andTasknameNotLike(String value) {
            addCriterion("taskName not like", value, "taskname");
            return (Criteria) this;
        }

        public Criteria andTasknameIn(List<String> values) {
            addCriterion("taskName in", values, "taskname");
            return (Criteria) this;
        }

        public Criteria andTasknameNotIn(List<String> values) {
            addCriterion("taskName not in", values, "taskname");
            return (Criteria) this;
        }

        public Criteria andTasknameBetween(String value1, String value2) {
            addCriterion("taskName between", value1, value2, "taskname");
            return (Criteria) this;
        }

        public Criteria andTasknameNotBetween(String value1, String value2) {
            addCriterion("taskName not between", value1, value2, "taskname");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}